﻿using System.Collections.Generic;
using Authority.Model;
using Common.Library;
using Tool.Model;

namespace Authority.Logic
{
    /// <summary>
    /// 公司功能管理逻辑接口
    /// </summary>
    public interface ISysOrganizationService
    {
        #region 组织机构入驻操作逻辑
        /// <summary>
        /// 发送短信息
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        ResultJsonInfo<int> SendMessage(string parameters);

        /// <summary>
        /// 根据Code获取操作信息
        /// </summary>
        /// <returns></returns>
        ResultJsonInfo<int> SettledApply(OrganizationSettledRequest inputInfo);

        #endregion

 

        /// <summary>
        /// 分页获取所有的可操作信息
        /// </summary>
        /// <param name="inputInfo"></param>
        /// <returns></returns>
        ResultJsonInfo<List<SysOrganizationEntity>> LoadSysOrganizationList(ParametersInfo<string> inputInfo);

        /// <summary>
        /// 获取所有的可操作信息
        /// </summary>
        /// <returns></returns>
        ResultJsonInfo<List<SelectListInfo>> LoadSysOrganizationAllList();

        /// <summary>
        /// 保存信息
        /// </summary>
        /// <param name="inputInfo"></param>
        /// <returns></returns>
        ResultJsonInfo<int> Save(OrganizationOperateRequest inputInfo);

        /// <summary>
        /// 删除信息
        /// </summary>
        /// <param name="gCodeList"></param>
        /// <returns></returns>
        ResultJsonInfo<int> Remove(List<string> gCodeList);

        /// <summary>
        /// 审核信息
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        ResultJsonInfo<int> AuditInfo(OrganizationAuditRequest inputInfo);
    }
}
